| class ARRAY3{T} < $ELT{T} |
|---|
| **** | Three-dimensional arrays of elements of type T. |
| $ELT{_} | $ELT | AREF{_} |
| attr size1:INT; |
|---|
| **** | Size of the slowest changing dimension. multiplication in accessing the array |
| attr size2:INT; |
|---|
| **** | Size of the second fastest changing dimension. multiplication in accessing the array |
| attr size3:INT; |
|---|
| **** | Size of the fastest changing dimension. multiplication in accessing the array |
| aget(i1,i2,i3:INT):T |
|---|
| **** | The element with indices `[i1,i2,i3]'. |
| aset(i1,i2,i3:INT,val:T) |
|---|
| **** | Set the element with indices `[i1,i2,i3]' to val. |
| copy: SAME |
|---|
| **** | Return a new 3D array with the same set of values as self |
| create(a: ARRAY{ARRAY{ARRAY{T}}}): SAME |
|---|
| create(d1,d2,d3:INT):SAME |
|---|
| **** | A new three-dimensional array with dimensions `d1 x d2 x d3' initialized to void. |
| nc: INT |
|---|
| **** | The size of the second dimension of the array. Number of cols |
| ne: INT |
|---|
| **** | The size of the third dimension of the array. Number of elements |
| nr: INT |
|---|
| **** | The size of the first dimension of the array. Number of rows |
| to_transpose_of(a1:SAME) |
|---|
| **** | Set self to the transpose of a1. |
| transpose: SAME |
|---|
| **** | Return a new array containing the transpose of self |
| col_elt!(once col,once elem:INT):T |
|---|
| **** | Yield elements by varying index 1 and holding index 2 at `col' and index 3 at `elem'. The elements of a "column" col
______loop_yield(aelt!(col,nr,nc));_end_end; |
| col_ind!:INT |
|---|
| **** | Yield each value of the second index in order. The columns |
| diag_elt!: T |
|---|
| **** | Yield values along the diagonal (square in smaller dimension) |
| elem_elt!(once row,once col:INT):T |
|---|
| **** | Yield elements by varying index 3 and holding index 2 at `col' and index 1 at `row'. The elements of a "elements (third dimension)" elem |
| elem_ind!:INT |
|---|
| **** | Yield each value of the third index in order. The elements |
| elt!: T |
|---|
| **** | Yield all elements in row major order |
| elt1!(once col,once elem:INT):T |
|---|
| **** | Yield elements by varying index 1 and holding index 2 at `col' and index 3 at `elem'. The elements of a "column" col
______loop_yield(aelt!(col,nr,nc));_end_end; |
| elt2!(once row,once elem:INT):T |
|---|
| **** | Yield elements by varying index 2 and holding index 1 at `row' and index 3 at `elem'. The elements of a row "row"
______loop_yield(aelt!(row*nc,nc,1));_end_end; |
| elt3!(once row,once col:INT):T |
|---|
| **** | Yield elements by varying index 3 and holding index 2 at `col' and index 1 at `row'. The elements of a "elements (third dimension)" elem |
| ind1!: INT |
|---|
| **** | Yield each value of the first index in order. The rows |
| ind2!:INT |
|---|
| **** | Yield each value of the second index in order. The columns |
| ind3!:INT |
|---|
| **** | Yield each value of the third index in order. The elements |
| inds!:TUP{INT,INT,INT} |
|---|
| **** | Yield tuples of the indices of self in lexicographical order. |
| row_elt!(once row,once elem:INT):T |
|---|
| **** | Yield elements by varying index 2 and holding index 1 at `row' and index 3 at `elem'. The elements of a row "row"
______loop_yield(aelt!(row*nc,nc,1));_end_end; |
| row_ind!: INT |
|---|
| **** | Yield each value of the first index in order. The rows |
| set!(val:T) |
|---|
| **** | Set all elements in row major order |
| set1!(once col,once elem:INT, val:T) |
|---|
| **** | Set to val elements with varying index 1 and index 2 fixed at `col' and index 3 fixed at `elem'. i.e. setting the column col
______loop_aset!(col,nr,nc,val);_yield_end_end; |
| set2!(once row,once elem:INT, val:T) |
|---|
| **** | Set to val elements with varying index 2 and index 1 fixed at `row' and the index 3 fixed at `elem'. i.e. setting a row "row"
______loop_aset!(row*nc,nc,val);_yield_end_end; |
| set3!(once row,once col:INT, val:T) |
|---|
| **** | Set to val elements with varying index 1 and index 2 fixed at `col' and index 3 fixed at `elem'. i.e. setting the column col
______loop_aset!(col,nr,nc,val);_yield_end_end; |
| set_col!(once col,once elem:INT, val:T) |
|---|
| **** | Set to val elements with varying index 1 and index 2 fixed at `col' and index 3 fixed at `elem'. i.e. setting the column col
______loop_aset!(col,nr,nc,val);_yield_end_end; |
| set_diag_elt!(val:T) |
|---|
| **** | Set values along the diagonal (square in smaller dimension) |
| set_elem!(once row,once col:INT, val:T) |
|---|
| **** | Set to val elements with varying index 1 and index 2 fixed at `col' and index 3 fixed at `elem'. i.e. setting the column col
______loop_aset!(col,nr,nc,val);_yield_end_end; |
| set_row!(once row,once elem:INT, val:T) |
|---|
| **** | Set to val elements with varying index 2 and index 1 fixed at `row' and the index 3 fixed at `elem'. i.e. setting a row "row"
______loop_aset!(row*nc,nc,val);_yield_end_end; |
| attr size1:INT; |
|---|
| **** | Size of the slowest changing dimension. multiplication in accessing the array |
| attr size2:INT; |
|---|
| **** | Size of the second fastest changing dimension. multiplication in accessing the array |
| attr size23:INT; |
|---|
| **** | size2*size3, pre-multiplied to spare a multiplication in accessing the array |
| attr size23:INT; |
|---|
| **** | size2*size3, pre-multiplied to spare a multiplication in accessing the array |
| attr size3:INT; |
|---|
| **** | Size of the fastest changing dimension. multiplication in accessing the array |